--************************************************* TABLA CATEGORIA
-- Listar 
CREATE PROCEDURE USP_S_BUSCAR_TB_CATEGORIA
(
	@id_categoria int
)
AS 
BEGIN
SELECT 
	[id_categoria],
	[tipo_categoria]
FROM [tb_categoria]
where id_categoria = @id_categoria
END
GO

-- Listar 
CREATE PROCEDURE USP_S_LISTAR_TB_CATEGORIA
AS 
BEGIN
SELECT 
	[id_categoria],
	[tipo_categoria]
FROM [tb_categoria]
END
GO

-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_CATEGORIA
	(
	@id_categoria [int]
	)
AS 
BEGIN
	DELETE [tb_categoria]
WHERE 
	[id_categoria] = @id_categoria	
END
GO

-- MODIFICAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_CATEGORIA
	(
	@id_categoria [int],
	@tipo_categoria [varchar] (45)
	)
AS 
BEGIN
UPDATE [tb_categoria]
	SET
	[tipo_categoria] = @tipo_categoria
WHERE [id_categoria] = @id_categoria
END 
GO

-- INSERTAR 
CREATE PROCEDURE USP_I_INSERTAR_TB_CATEGORIA
	(	
	@tipo_categoria [varchar] (45)
	)
AS 
BEGIN
INSERT INTO [tb_categoria]
	(
	[tipo_categoria]
	)
VALUES 
	(
	@tipo_categoria
	)
END
GO

-- ************************************************* TB_UBICACION
-- BUSCAR
CREATE PROCEDURE USP_S_BUSCAR_TB_UBICACION
(
	@id_ubicacion int
)
AS 
BEGIN
SELECT 
	[id_ubicacion],
	[ubicacion_area],
	[ubicacion_codigo],
	[ubicacion_sigla],
	[ubicacion_depende]
FROM [tb_ubicacion]
where id_ubicacion = @id_ubicacion
END
GO

-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_UBICACION
AS 
BEGIN
SELECT 
	[id_ubicacion],
	[ubicacion_area],
	[ubicacion_codigo],
	[ubicacion_sigla],
	[ubicacion_depende]
FROM [tb_ubicacion]
END
GO

-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_UBICACION
	(
	@id_ubicacion [smallint]
	)
AS 
BEGIN
	DELETE [tb_ubicacion]
WHERE 
	[id_ubicacion] = @id_ubicacion
END
GO
	


-- MODIFICAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_UBICACION
	(
	@id_ubicacion [smallint],
	@ubicacion_area [varchar] (180),
	@ubicacion_codigo [varchar] (4),
	@ubicacion_sigla [varchar] (6),
	@ubicacion_depende [varchar] (50)
	)
AS 
BEGIN
UPDATE [tb_ubicacion]
	SET
	[ubicacion_area] = @ubicacion_area,
	[ubicacion_codigo] = @ubicacion_codigo,
	[ubicacion_sigla] = @ubicacion_sigla,
	[ubicacion_depende] = @ubicacion_depende
WHERE [id_ubicacion] = @id_ubicacion
END
GO

-- INSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_UBICACION
	(
	@ubicacion_area [varchar] (180),
	@ubicacion_codigo [varchar] (4),
	@ubicacion_sigla [varchar] (6),
	@ubicacion_depende [varchar] (50)
	)
AS 
BEGIN
INSERT INTO [tb_ubicacion]
	(
	[ubicacion_area],
	[ubicacion_codigo],
	[ubicacion_sigla],
	[ubicacion_depende]
	)
VALUES 
	(
	@ubicacion_area,
	@ubicacion_codigo,
	@ubicacion_sigla,
	@ubicacion_depende
	)
END
GO

-- ************************************************* TB_USUARIO
-- LOGIN USUARIO
CREATE PROCEDURE USP_S_LOGIN_TB_USUARIO
(
	@usuario varchar(45),
	@password varchar(45)
)
AS 
BEGIN
SELECT 
	[id_usuario],
	[usuario_nombre],
	[usuario_password],
	[usuario_tipo]
FROM [tb_usuario]
WHERE usuario_nombre = @usuario AND usuario_password = @password
END
GO


-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_USUARIO
AS 
BEGIN
SELECT 
	[id_usuario],
	[usuario_nombre],
	[usuario_password],
	[usuario_tipo]
FROM [tb_usuario]
END
GO


-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_USUARIO
	(
	@id_usuario [int]
	)
AS 
BEGIN
	DELETE [tb_usuario]
WHERE 
	[id_usuario] = @id_usuario
END
GO

-- MODIFICAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_USUARIO
	(
	@id_usuario [int],
	@usuario_nombre [varchar] (45),
	@usuario_password [varchar] (45),
	@usuario_tipo [int]
	)
AS 
BEGIN
UPDATE [tb_usuario]
	SET
	[usuario_nombre] = @usuario_nombre,
	[usuario_password] = @usuario_password,
	[usuario_tipo] = @usuario_tipo
WHERE [id_usuario] = @id_usuario
END
GO

--IINSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_USUARIO
	(	
	@usuario_nombre [varchar] (45),
	@usuario_password [varchar] (45),
	@usuario_tipo [int]
	)
AS 
BEGIN
INSERT INTO [tb_usuario]
	(
	[usuario_nombre],
	[usuario_password],
	[usuario_tipo]
	)
VALUES 
	(
	@usuario_nombre,
	@usuario_password,
	@usuario_tipo
	)
END
GO

-- ************************************************* TB_TIPO_PC
-- BUSCAR
CREATE PROCEDURE USP_S_BUSCAR_TB_TIPO_PC
(
	@id_tipo_pc int
)
AS 
BEGIN
SELECT 
	[id_tipo_pc],
	[tipo_pc_descripcion]
FROM [tb_tipo_pc]
where id_tipo_pc = @id_tipo_pc
END
GO

-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_TIPO_PC
AS 
BEGIN
SELECT 
	[id_tipo_pc],
	[tipo_pc_descripcion]
FROM [tb_tipo_pc]
END
GO

-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_TIPO_PC
	(
	@id_tipo_pc [smallint]
	)
AS 
BEGIN
	DELETE [tb_tipo_pc]
WHERE 
	[id_tipo_pc] = @id_tipo_pc
END
GO

-- MODIFICAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_TIPO_PC
	(
	@id_tipo_pc [smallint],
	@tipo_pc_descripcion [varchar] (30)
	)
AS 
BEGIN
UPDATE [tb_tipo_pc]
	SET
	[tipo_pc_descripcion] = @tipo_pc_descripcion
WHERE [id_tipo_pc] = @id_tipo_pc
END
GO

-- INSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_TIPO_PC
	(
	@tipo_pc_descripcion [varchar] (30)
	)
AS 
BEGIN
INSERT INTO [tb_tipo_pc]
	(
	[tipo_pc_descripcion]
	)
VALUES 
	(
	@tipo_pc_descripcion
	)
END
GO

-- ************************************************* TB_MARCA
-- BUSCAR
CREATE PROCEDURE USP_S_BUSCAR_TB_MARCA
(
	@id_marca int
)
AS 
BEGIN
SELECT 
	[id_marca],
	[marca_sigla],
	[marca_descripcion],
	[marca_pagina_web]
FROM [tb_marca]
where id_marca = @id_marca
END
GO

-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_MARCA
AS 
BEGIN
SELECT 
	[id_marca],
	[marca_sigla],
	[marca_descripcion],
	[marca_pagina_web]
FROM [tb_marca]
END
GO

-- ELMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_MARCA
	(
	@id_marca [tinyint]
	)
AS 
BEGIN
	DELETE [tb_marca]
WHERE 
	[id_marca] = @id_marca
END
GO

-- MODIFICAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_MARCA
	(
	@id_marca [tinyint],
	@marca_sigla [varchar] (15),
	@marca_descripcion [varchar] (128),
	@marca_pagina_web [varchar] (128)
	)
AS 
BEGIN
UPDATE [tb_marca]
	SET
	[marca_sigla] = @marca_sigla,
	[marca_descripcion] = @marca_descripcion,
	[marca_pagina_web] = @marca_pagina_web
WHERE [id_marca] = @id_marca
END
GO

-- insertar
CREATE PROCEDURE USP_I_INSERTAR_TB_MARCA
	(
	@marca_sigla [varchar] (15),
	@marca_descripcion [varchar] (128),
	@marca_pagina_web [varchar] (128)
	)
AS 
BEGIN
INSERT INTO [tb_marca]
	(
	[marca_sigla],
	[marca_descripcion],
	[marca_pagina_web]
	)
VALUES 
	(
	@marca_sigla,
	@marca_descripcion,
	@marca_pagina_web
	)
END 
GO


-- ************************************************* TB_FABRICANTE
-- INSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_FABRICANTE
	(
	@fabricante_nombre [varchar] (30),
	@fabricante_pagina_web [varchar] (50)
	)
AS 
BEGIN
INSERT INTO [tb_fabricante]
	(
	fabricante_nombre,
	[fabricante_pagina_web]
	)
VALUES 
	(
	@fabricante_nombre,
	@fabricante_pagina_web
	)
END
GO

-- ACTUALIZAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_FABRICANTE
	(
	@id_fabricante [tinyint],
	@fabricante_nombre [varchar] (30),
	@fabricante_pagina_web [varchar] (50)
	)
AS 
BEGIN
UPDATE [tb_fabricante]
	SET
	[fabricante_nombre] = @fabricante_nombre,
	[fabricante_pagina_web] = @fabricante_pagina_web
WHERE [id_fabricante] = @id_fabricante
END
GO

-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_FABRICANTE
	(
	@id_fabricante [tinyint],
	@fabricante_nombre [varchar] (30),
	@fabricante_pagina_web [varchar] (50)
	)
AS
BEGIN 
	DELETE [tb_fabricante]
WHERE 
	[id_fabricante] = @id_fabricante
END
GO

-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_FABRICANTE
AS 
BEGIN
SELECT 
	[id_fabricante],
	[fabricante_nombre],
	[fabricante_pagina_web]
FROM [tb_fabricante]
END
GO

-- BUSCAR
CREATE PROCEDURE USP_S_BUSCAR_TB_FABRICANTE
(
	@id_fabricante int
)
AS 
BEGIN
SELECT 
	[id_fabricante],
	[fabricante_nombre],
	[fabricante_pagina_web]
FROM [tb_fabricante]
where id_fabricante = @id_fabricante
END
GO

-- ************************************************* TB_DOMINIO
-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_DOMINIO
AS 
BEGIN
SELECT 
	[id_dominio],
	[dominio_nombre],
	[dominio_ip_servidor],
	[dominio_servidor]
FROM [tb_dominio]
END
GO

-- ELMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_DOMINIO
	(
	@id_dominio [smallint]
	)
AS 
BEGIN
	DELETE [tb_dominio]
WHERE 
	[id_dominio] = @id_dominio
END
GO
	
	
-- ACTUALIZAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_DOMINIO
	(
	@id_dominio [smallint],
	@dominio_nombre [varchar] (60),
	@dominio_ip_servidor [varchar] (15),
	@dominio_servidor [varchar] (30)
	)
AS 
BEGIN
UPDATE [tb_dominio]
	SET
	[dominio_nombre] = @dominio_nombre,
	[dominio_ip_servidor] = @dominio_ip_servidor,
	[dominio_servidor] = @dominio_servidor
WHERE [id_dominio] = @id_dominio
END
GO

-- INSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_DOMINIO
	(
	@dominio_nombre [varchar] (60),
	@dominio_ip_servidor [varchar] (15),
	@dominio_servidor [varchar] (30)
	)
AS 
BEGIN
INSERT INTO [tb_dominio]
	(
	[dominio_nombre],
	[dominio_ip_servidor],
	[dominio_servidor]
	)
VALUES 
	(
	@dominio_nombre,
	@dominio_ip_servidor,
	@dominio_servidor
	)
END
GO

-- ************************************************* TB_LUGAR
-- BUSCAR
CREATE PROCEDURE USP_S_BUSCAR_TB_LUGAR
(
	@id_lugar int
)
AS 
BEGIN
SELECT 
	[id_lugar],
	[lugar_sede],
	[lugar_direccion]
FROM [tb_lugar]
where id_lugar = @id_lugar
END
GO

-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_LUGAR
AS 
BEGIN
SELECT 
	[id_lugar],
	[lugar_sede],
	[lugar_direccion]
FROM [tb_lugar]
END
GO

-- ELIMINAR

CREATE PROCEDURE USP_D_ELIMINAR_TB_LUGAR
	(
	@id_lugar [smallint]
	)
AS 
BEGIN
	DELETE [tb_lugar]
WHERE 
	[id_lugar] = @id_lugar
END
GO
	


-- ACTUALIZAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_LUGAR
	(
	@id_lugar [smallint],
	@lugar_sede [varchar] (20),
	@lugar_direccion [varchar] (40)
	)
AS 
BEGIN
UPDATE [tb_lugar]
	SET
	[lugar_sede] = @lugar_sede,
	[lugar_direccion] = @lugar_direccion
WHERE [id_lugar] = @id_lugar
END 
GO

-- INSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_LUGAR
	(	
	@lugar_sede [varchar] (20),
	@lugar_direccion [varchar] (40)
	)
AS 
BEGIN
INSERT INTO [tb_lugar]
	(
	[lugar_sede],
	[lugar_direccion]
	)
VALUES 
	(
	@lugar_sede,
	@lugar_direccion
	)
END
GO

-- ************************************************* TB_EQUIPO
-- INSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_EQUIPO
	(
	@equipo_nombre_pc [varchar] (25),
	@equipo_direccion_ip [varchar] (15),
	@equipo_responsable [varchar] (25),
	@equipo_direccion_mac [varchar] (18),
	@equipo_xml_is [int],
	@equipo_xml_ruta [varchar] (55),
	@equipo_observacion [varchar] (250),
	@equipo_actualizado [datetime],
	@equipo_licencia [varchar] (250),
	@equipo_codigo_inventario [varchar] (10),
	@equipo_fecha_creacion [date],
	@tb_ubicacion_id_ubicacion [smallint],
	@tb_lugar_id_lugar [smallint],
	@tb_tipo_pc_id_tipo_pc [smallint],
	@tb_marca_id_marca [tinyint]
	)
AS 
BEGIN
INSERT INTO [tb_equipo]
	(
	equipo_nombre_pc,
	[equipo_direccion_ip],
	[equipo_responsable],
	[equipo_direccion_mac],
	[equipo_xml_is],
	[equipo_xml_ruta],
	[equipo_observacion],
	[equipo_actualizado],
	[equipo_licencia],
	[equipo_codigo_inventario],
	[equipo_fecha_creacion],
	[tb_ubicacion_id_ubicacion],
	[tb_lugar_id_lugar],
	[tb_tipo_pc_id_tipo_pc],
	[tb_marca_id_marca]
	)
VALUES 
	(
	@equipo_nombre_pc,
	@equipo_direccion_ip,
	@equipo_responsable,
	@equipo_direccion_mac,
	@equipo_xml_is,
	@equipo_xml_ruta,
	@equipo_observacion,
	@equipo_actualizado,
	@equipo_licencia,
	@equipo_codigo_inventario,
	@equipo_fecha_creacion,
	@tb_ubicacion_id_ubicacion,
	@tb_lugar_id_lugar,
	@tb_tipo_pc_id_tipo_pc,
	@tb_marca_id_marca
	)
END
GO

-- ACTUALIZAR
ALTER PROCEDURE USP_U_ACTUALIZAR_TB_EQUIPO
	(
	@id_equipo [int],
	@equipo_nombre_pc [varchar] (25),
	@equipo_direccion_ip [varchar] (15),
	@equipo_responsable [varchar] (25),
	@equipo_direccion_mac [varchar] (18),
	@equipo_xml_is [int],
	@equipo_xml_ruta [varchar] (55),
	@equipo_observacion [varchar] (250),
	@equipo_actualizado [datetime],
	@equipo_licencia [varchar] (250),
	@equipo_codigo_inventario [varchar] (10),
	@tb_ubicacion_id_ubicacion [smallint],
	@tb_lugar_id_lugar [smallint],
	@tb_tipo_pc_id_tipo_pc [smallint],
	@tb_marca_id_marca [tinyint]
	)
AS 
BEGIN
UPDATE [tb_equipo]
	SET
	[equipo_nombre_pc] = @equipo_nombre_pc,
	[equipo_direccion_ip] = @equipo_direccion_ip,
	[equipo_responsable] = @equipo_responsable,
	[equipo_direccion_mac] = @equipo_direccion_mac,
	[equipo_xml_is] = @equipo_xml_is,
	[equipo_xml_ruta] = @equipo_xml_ruta,
	[equipo_observacion] = @equipo_observacion,
	[equipo_actualizado] = @equipo_actualizado,
	[equipo_licencia] = @equipo_licencia,
	[equipo_codigo_inventario] = @equipo_codigo_inventario,
	[tb_ubicacion_id_ubicacion] = @tb_ubicacion_id_ubicacion,
	[tb_lugar_id_lugar] = @tb_lugar_id_lugar,
	[tb_tipo_pc_id_tipo_pc] = @tb_tipo_pc_id_tipo_pc,
	[tb_marca_id_marca] = @tb_marca_id_marca
WHERE [id_equipo] = @id_equipo
END
GO

-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_EQUIPO
	(
	@id_equipo [int]
	)
AS 
BEGIN
	DELETE [tb_equipo]
WHERE 
	[id_equipo] = @id_equipo
END
GO

-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_EQUIPO
AS 
BEGIN
SELECT 
	eq.[id_equipo],
	eq.[equipo_nombre_pc],
	eq.[equipo_direccion_ip],
	eq.[equipo_responsable],
	eq.[equipo_direccion_mac],
	eq.[equipo_xml_is],
	eq.[equipo_xml_ruta],
	SUBSTRING(eq.[equipo_observacion],0,10) as 'equipo_observacion',
	eq.[equipo_actualizado],
	eq.[equipo_licencia],
	eq.[equipo_codigo_inventario],
	eq.[equipo_fecha_creacion],
	eq.tb_ubicacion_id_ubicacion,
	ub.[ubicacion_area],
	eq.tb_lugar_id_lugar,
	lu.[lugar_sede],
	eq.tb_tipo_pc_id_tipo_pc,
	tp.[tipo_pc_descripcion],
	eq.tb_marca_id_marca,
	ma.[marca_descripcion]
FROM
	tb_equipo eq
INNER JOIN tb_ubicacion  ub ON eq.tb_ubicacion_id_ubicacion = ub.id_ubicacion
INNER JOIN tb_lugar	lu ON eq.tb_lugar_id_lugar = lu.id_lugar
INNER JOIN tb_tipo_pc tp ON eq.tb_tipo_pc_id_tipo_pc = tp.id_tipo_pc
INNER JOIN tb_marca ma ON eq.tb_marca_id_marca = ma.id_marca
END
GO

-- ******************************************************************* DETALLE DE EQUIPO
-- INSERTAR
CREATE PROCEDURE USP_I_INSERTAR_TB_DETALLE_EQUIPO
	(
	@tb_categoria_id_categoria [int],
	@detalle_equipo_descripcion [varchar] (45),
	@detalle_equipo_cantidad [int],
	@detalle_equipo_valor [varchar] (45),
	@detalle_equipo_unidad [varchar] (45),
	@detalle_equipo_observacion [text],
	@detalle_equipo_licencia [varchar] (250),
	@tb_marca_id_marca [tinyint],
	@tb_equipo_id_equipo [int]
	)
AS 
BEGIN
INSERT INTO [tb_detalle_equipo]
	(
	tb_categoria_id_categoria,
	[detalle_equipo_descripcion],
	[detalle_equipo_cantidad],
	[detalle_equipo_valor],
	[detalle_equipo_unidad],
	[detalle_equipo_observacion],
	[detalle_equipo_licencia],
	[tb_marca_id_marca],
	[tb_equipo_id_equipo]
	)
VALUES 
	(
	@tb_categoria_id_categoria,
	@detalle_equipo_descripcion,
	@detalle_equipo_cantidad,
	@detalle_equipo_valor,
	@detalle_equipo_unidad,
	@detalle_equipo_observacion,
	@detalle_equipo_licencia,
	@tb_marca_id_marca,
	@tb_equipo_id_equipo
	)
END
GO

-- ACTUALIZAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_DETALLE_EQUIPO
	(
	@id_detalle_equipo [int],
	@tb_categoria_id_categoria [int],
	@detalle_equipo_descripcion [varchar] (45),
	@detalle_equipo_cantidad [int],
	@detalle_equipo_valor [varchar] (45),
	@detalle_equipo_unidad [varchar] (45),
	@detalle_equipo_observacion [text],
	@detalle_equipo_licencia [varchar] (250),
	@tb_marca_id_marca [tinyint],
	@tb_equipo_id_equipo [int]
	)
AS 
BEGIN
UPDATE [tb_detalle_equipo]
	SET
	[tb_categoria_id_categoria] = @tb_categoria_id_categoria,
	[detalle_equipo_descripcion] = @detalle_equipo_descripcion,
	[detalle_equipo_cantidad] = @detalle_equipo_cantidad,
	[detalle_equipo_valor] = @detalle_equipo_valor,
	[detalle_equipo_unidad] = @detalle_equipo_unidad,
	[detalle_equipo_observacion] = @detalle_equipo_observacion,
	[detalle_equipo_licencia] = @detalle_equipo_licencia,
	[tb_marca_id_marca] = @tb_marca_id_marca,
	[tb_equipo_id_equipo] = @tb_equipo_id_equipo
WHERE [id_detalle_equipo] = @id_detalle_equipo
END
GO

-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_DETALLE_EQUIPO
	(
	@id_detalle_equipo [int]
	)
AS
BEGIN 
	DELETE [tb_detalle_equipo]
WHERE 
	[id_detalle_equipo] = @id_detalle_equipo
END
GO


-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_DETALLE_EQUIPO
(
  @tb_equipo_id_equipo int
)
AS 
BEGIN
SELECT 
	dt.[id_detalle_equipo],
	dt.[tb_categoria_id_categoria],
	dt.[detalle_equipo_descripcion],
	dt.[detalle_equipo_cantidad],
	dt.[detalle_equipo_valor],
	dt.[detalle_equipo_unidad],
	dt.[detalle_equipo_observacion],
	dt.[detalle_equipo_licencia],
	ma.marca_descripcion,
	eq.equipo_direccion_ip
FROM [tb_detalle_equipo] dt
INNER JOIN tb_equipo eq ON eq.id_equipo = dt.tb_equipo_id_equipo
INNER JOIN tb_marca ma ON ma.id_marca = dt.tb_marca_id_marca
WHERE dt.tb_equipo_id_equipo = @tb_equipo_id_equipo
END
GO


-- ******************************************************************* TB_MANTENIMIENTO
--INSERTAR 
CREATE PROCEDURE USP_I_INSERTAR_TB_MANTENIMIENTO
	(
	@mantenimiento_historial [text],
	@tb_usuario_id_usuario [int],
	@tb_equipo_id_equipo [int]
	)
AS 
BEGIN
INSERT INTO [tb_mantenimiento]
	(
	[mantenimiento_fecha],
	[mantenimiento_historial],
	[tb_usuario_id_usuario],
	[tb_equipo_id_equipo]
	)
VALUES 
	(
	GETDATE(),
	@mantenimiento_historial,
	@tb_usuario_id_usuario,
	@tb_equipo_id_equipo
	)
END
GO

-- ACTUALIZAR
CREATE PROCEDURE USP_U_ACTUALIZAR_TB_MANTENIMIENTO
	(
	@id_mantenimiento [int],
	@mantenimiento_fecha [date],
	@mantenimiento_historial [text],
	@tb_usuario_id_usuario [int],
	@tb_equipo_id_equipo [int]
	)
AS 
BEGIN
UPDATE [tb_mantenimiento]
	SET
	[mantenimiento_fecha] = @mantenimiento_fecha,
	[mantenimiento_historial] = @mantenimiento_historial,
	[tb_usuario_id_usuario] = @tb_usuario_id_usuario,
	[tb_equipo_id_equipo] = @tb_equipo_id_equipo
WHERE [id_mantenimiento] = @id_mantenimiento
END
GO

-- ELIMINAR
CREATE PROCEDURE USP_D_ELIMINAR_TB_MANTENIMIENTO
	(
	@id_mantenimiento [int]
	)
AS 
BEGIN
	DELETE [tb_mantenimiento]
WHERE 
	[id_mantenimiento] = @id_mantenimiento
END
GO

-- LISTAR
CREATE PROCEDURE USP_S_LISTAR_TB_MANTENIMIENTO
(
	@tb_equipo_id_equipo int
)
AS 
BEGIN
SELECT 
	ma.[id_mantenimiento],
	ma.[mantenimiento_fecha],	
	ma.[tb_usuario_id_usuario],
	ma.[mantenimiento_historial]
FROM [tb_mantenimiento] ma
INNER JOIN tb_equipo eq ON eq.id_equipo = ma.tb_equipo_id_equipo
WHERE ma.tb_equipo_id_equipo = @tb_equipo_id_equipo
END
GO

-- STORED PROCEDURES AGREGADOS
-- BUSCAR EQUIPO POR IP
CREATE PROCEDURE USP_S_BUSCAR_IP_TB_EQUIPO
	(
	@equipo_direccion_ip [varchar] (15)
	)
AS 
BEGIN
SELECT 	
	eq.id_equipo,
	eq.equipo_nombre_pc,
	eq.[equipo_responsable],
	eq.[equipo_direccion_ip],
	eq.[equipo_direccion_mac],
	eq.[equipo_xml_is],
	eq.[equipo_xml_ruta],
	eq.[equipo_observacion],
	eq.[equipo_actualizado],
	eq.[equipo_licencia],
	eq.[equipo_codigo_inventario],
	eq.[equipo_fecha_creacion],
	eq.tb_ubicacion_id_ubicacion,
	ub.[ubicacion_area],
	eq.tb_lugar_id_lugar,
	lu.[lugar_sede],
	eq.tb_tipo_pc_id_tipo_pc,
	tp.[tipo_pc_descripcion],
	eq.tb_marca_id_marca,
	ma.[marca_descripcion]
FROM
	tb_equipo eq
INNER JOIN tb_ubicacion  ub ON eq.tb_ubicacion_id_ubicacion = ub.id_ubicacion
INNER JOIN tb_lugar	lu ON eq.tb_lugar_id_lugar = lu.id_lugar
INNER JOIN tb_tipo_pc tp ON eq.tb_tipo_pc_id_tipo_pc = tp.id_tipo_pc
INNER JOIN tb_marca ma ON eq.tb_marca_id_marca = ma.id_marca
WHERE eq.equipo_direccion_ip = @equipo_direccion_ip
END
GO


-- buscar por codigo equipo
CREATE PROCEDURE USP_S_BUSCAR_ID_TB_EQUIPO
	(
	@id_equipo int
	)
AS 
BEGIN
SELECT 	
	eq.id_equipo,
	eq.equipo_nombre_pc,
	eq.[equipo_responsable],
	eq.[equipo_direccion_ip],
	eq.[equipo_direccion_mac],
	eq.[equipo_xml_is],
	eq.[equipo_xml_ruta],
	eq.[equipo_observacion],
	eq.[equipo_actualizado],
	eq.[equipo_licencia],
	eq.[equipo_codigo_inventario],
	eq.[equipo_fecha_creacion],
	eq.tb_ubicacion_id_ubicacion,
	eq.tb_ubicacion_id_ubicacion,
	ub.[ubicacion_area],
	eq.tb_lugar_id_lugar,
	lu.[lugar_sede],
	eq.tb_tipo_pc_id_tipo_pc,
	tp.[tipo_pc_descripcion],
	eq.tb_marca_id_marca,
	ma.[marca_descripcion]
FROM
	tb_equipo eq
INNER JOIN tb_ubicacion  ub ON eq.tb_ubicacion_id_ubicacion = ub.id_ubicacion
INNER JOIN tb_lugar	lu ON eq.tb_lugar_id_lugar = lu.id_lugar
INNER JOIN tb_tipo_pc tp ON eq.tb_tipo_pc_id_tipo_pc = tp.id_tipo_pc
INNER JOIN tb_marca ma ON eq.tb_marca_id_marca = ma.id_marca
WHERE eq.id_equipo = @id_equipo
END
GO

CREATE PROCEDURE USP_U_ACTUALIZAR_ESPECIFICOS_TB_EQUIPO(
	@id_equipo int,
	@equipo_direccion_ip varchar(15),
	@equipo_direccion_mac varchar(18),
	@equipo_codigo_inventario varchar(10),
	@equipo_xml_is int,
	@equipo_xml_ruta varchar(55),	
	@equipo_actualizado datetime,
	@tb_marca_id_marca int,
	@tb_tipo_pc_id_tipo_pc int
)
AS
BEGIN
UPDATE [tb_equipo]
	SET
	[equipo_direccion_mac] = @equipo_direccion_mac,
	[equipo_xml_is] = @equipo_xml_is,
	[equipo_xml_ruta] = @equipo_xml_ruta,
	[equipo_actualizado] = @equipo_actualizado,
	[equipo_codigo_inventario] = @equipo_codigo_inventario,
	[tb_tipo_pc_id_tipo_pc] = @tb_tipo_pc_id_tipo_pc,
	[tb_marca_id_marca] = @tb_marca_id_marca
WHERE [id_equipo] = @id_equipo AND
	equipo_direccion_ip = @equipo_direccion_ip
END
GO


CREATE PROCEDURE USP_S_LISTAR_2_DETALLE_EQUIPO
	(
	@tb_equipo_id_equipo int
	)
AS 
BEGIN
SELECT 
	dt.id_detalle_equipo as 'ID',
	ca.tipo_categoria as 'Categoria',
	dt.[detalle_equipo_descripcion] as 'Producto',
	ma.marca_descripcion as 'Marca',
	dt.[detalle_equipo_cantidad] as 'Cantidad'
FROM [tb_detalle_equipo] dt
INNER JOIN tb_equipo eq ON eq.id_equipo = dt.tb_equipo_id_equipo
INNER JOIN tb_marca ma ON ma.id_marca = dt.tb_marca_id_marca
INNER JOIN tb_categoria ca on ca.id_categoria = dt.tb_categoria_id_categoria
WHERE dt.tb_equipo_id_equipo = @tb_equipo_id_equipo
END
GO


CREATE PROCEDURE USP_S_LISTAR_2_TB_MANTENIMIENTO
(
	@tb_equipo_id_equipo int
)
AS 
BEGIN
SELECT 
	ma.[id_mantenimiento] as 'ID',
	ma.[mantenimiento_fecha] as 'Fecha',	
	us.usuario_nombre  as 'Usuario',
	(substring(ma.mantenimiento_historial,0,20)) as 'Historial'
FROM [tb_mantenimiento] ma
INNER JOIN tb_equipo eq ON eq.id_equipo = ma.tb_equipo_id_equipo
INNER JOIN tb_usuario us ON us.id_usuario = ma.tb_usuario_id_usuario
WHERE ma.tb_equipo_id_equipo = @tb_equipo_id_equipo
END
GO

CREATE PROCEDURE USP_S_VER_2_TB_MANTENIMIENTO
(
	@id_mantenimiento int
)
AS 
BEGIN	
SELECT 
	ma.[id_mantenimiento],
	ma.[mantenimiento_fecha] as 'Fecha',	
	ma.[tb_usuario_id_usuario] as 'Usuario',
	ma.mantenimiento_historial as 'Historial'
FROM [tb_mantenimiento] ma
WHERE ma.[id_mantenimiento] = @id_mantenimiento
END
GO


CREATE PROCEDURE USP_S_BUSCAR_2_DETALLE_EQUIPO
	(
	@id_detalle_equipo int
	)
AS 
BEGIN
SELECT 
	dt.id_detalle_equipo,
	ca.tipo_categoria as 'Categoria',
	dt.[detalle_equipo_descripcion] as 'Producto',
	ma.marca_descripcion as 'Marca',
	dt.[detalle_equipo_cantidad] as 'Cantidad'
FROM [tb_detalle_equipo] dt
INNER JOIN tb_equipo eq ON eq.id_equipo = dt.tb_equipo_id_equipo
INNER JOIN tb_marca ma ON ma.id_marca = dt.tb_marca_id_marca
INNER JOIN tb_categoria ca on ca.id_categoria = dt.tb_categoria_id_categoria
WHERE dt.id_detalle_equipo = @id_detalle_equipo
END
GO


-- USUARIO MANTENIMIENTO
-- LISTAR 
CREATE PROCEDURE USP_S_BUSCAR_ID_TB_USUARIO
(
	@id_usuario int
)
AS 
BEGIN
SELECT 
	[id_usuario],
	[usuario_nombre],
	[usuario_password],
	[usuario_tipo]
FROM [tb_usuario]
WHERE id_usuario = @id_usuario
END
GO

-- BUSCAR POR ID DETALLE DE EQUIPO
-- LISTAR
CREATE PROCEDURE [dbo].[USP_S_BUSCAR_ID_TB_DETALLE_EQUIPO]
(
  @id_detalle_equipo int
)
AS 
BEGIN
SELECT 
	dt.[id_detalle_equipo],
	dt.[tb_categoria_id_categoria],
	dt.[detalle_equipo_descripcion],
	dt.[detalle_equipo_cantidad],
	dt.[detalle_equipo_valor],
	dt.[detalle_equipo_unidad],
	dt.[detalle_equipo_observacion],
	dt.[detalle_equipo_licencia],
	dt.tb_marca_id_marca,
	ma.marca_descripcion,
	eq.id_equipo
FROM [tb_detalle_equipo] dt
INNER JOIN tb_equipo eq ON eq.id_equipo = dt.tb_equipo_id_equipo
INNER JOIN tb_marca ma ON ma.id_marca = dt.tb_marca_id_marca
WHERE dt.id_detalle_equipo = @id_detalle_equipo
END
GO
